cs 端如何做渗透测试
1.cs上线
- 首先开启监听cobalt->listeners,host和beacons都为cs服务端的ip地址
- 生成相应的windows木马,上传到靶机251中执行。
选择对应的监听和木马格式
最后将生成的木马传到靶机中,让靶机执行。
- 机器上线成功
2.部分cs命令利用
getsystem
logonpasswords 抓取密码
net view /domain 查询域列表
net time /domain 判断主域
net user /domain 查询域内用户
获取到内网域相应的信息
3.存活主机探测和获取凭证
内网横向探测
获取到一个 cs 的 beacon 后可以目标内网情况和端口开放情况,在 beacon 上右键 -> 目
标 -> 选择 net view 或者 port scan:
可以在菜单栏中,view视窗的targets选项中查看
用 cs 的 hashdump 读内存密码:hashdump,用 mimikatz 读注册表密码:logonpasswords。获取相应账户凭证
或者:
右键->Access->Dump Hashes(需要Administrator权限)
右键->Access->Run Mimikatz
可以在凭证栏中查看获取的凭证
4.SMB Beacon和psexec传递(msf中的hash传递攻击)
在探测到其他两个内网机器开了445端口的前提下,可以使用SMB beacon获取。相当于在msf里面使用永恒之蓝获取shell。有两种方法
- 直接派生,新建一个listener,pyload设置为beacon_smb
在已有的 Beacon 上右键 Spawn(生成会话 / 派生),选择创建的 smb beacon 的 listerner:
选择后会反弹一个子会话,在 external 的 ip 后面会有一个链接的小图标:
这就是派生的 SMB Beacon,当前没有连接,可以在主 Beacon 上用 link host 连接它,或者unlink host 断开
就是说通过之前的beacon为跳板通过SMB去连接新beacon获取权限shell
可以在视图界面查看图形化连接情况
前面横向探测已经获取到内网内的其他 Targets 以及读取到的凭证信息,尝试使用 psexec
模块登录其他主机,右键选择一台非域控主机 ROOT-TVI862UBEH 的 psexec 模块:
在弹出的窗口中选择使用 god.org 的 Administrator 的凭证信息,监听器选择之前创建的
smb beacon,会话也选择对应的 smb beacon 的会话:
- 成功上线,并返回新的beacon
5.另一种方式token 窃取
除了直接使用获取到的 hash 值,也可以直接窃取 GOD\Administrator 的 token 来登录其
他主机,选择 beacon 右键 -> 目标 -> 进程列表,选择 GOD\Administrator 的 token 盗取:
找到相应账户的conhost.exe信息,获取其token
再在之前获取的凭证中选择相应账户,勾选token选项就好了
补充;
6.cs与MSF会话传递
- MSF 创建监听自己的 ip 跟端口:
CS 创建监听 listeners,Listeners 的 ip 为 msf 的 ip,端口为 msf 监听的端口(注:如果
msf 是内网下的,则需要把端口映射到公网,或者使用 ngrok 等工具做流量转发)
回到 cs 上,选中拿下的计算机会话,右键选中 spawn,然后在弹出来的框中选择刚刚创
建的 listeners 监听器,然后执行。
msf收到会话